﻿namespace TestTool.Proxies.Event
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.ServiceModel;
    using System.ServiceModel.Channels;

    [GeneratedCode("System.ServiceModel", "3.0.0.0"), DebuggerStepThrough]
    public class NotificationProducerClient : ClientBase<NotificationProducer>, NotificationProducer
    {
        public NotificationProducerClient()
        {
        }

        public NotificationProducerClient(string endpointConfigurationName) : base(endpointConfigurationName)
        {
        }

        public NotificationProducerClient(Binding binding, EndpointAddress remoteAddress) : base(binding, remoteAddress)
        {
        }

        public NotificationProducerClient(string endpointConfigurationName, EndpointAddress remoteAddress) : base(endpointConfigurationName, remoteAddress)
        {
        }

        public NotificationProducerClient(string endpointConfigurationName, string remoteAddress) : base(endpointConfigurationName, remoteAddress)
        {
        }

        public GetCurrentMessageResponse GetCurrentMessage(TestTool.Proxies.Event.GetCurrentMessage GetCurrentMessage1)
        {
            GetCurrentMessageRequest request = new GetCurrentMessageRequest {
                GetCurrentMessage = GetCurrentMessage1
            };
            return ((NotificationProducer) this).GetCurrentMessage(request).GetCurrentMessageResponse;
        }

        public SubscribeResponse Subscribe(TestTool.Proxies.Event.Subscribe Subscribe1)
        {
            SubscribeRequest request = new SubscribeRequest {
                Subscribe = Subscribe1
            };
            return ((NotificationProducer) this).Subscribe(request).SubscribeResponse;
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCurrentMessageResponse1 NotificationProducer.GetCurrentMessage(GetCurrentMessageRequest request)
        {
            return base.Channel.GetCurrentMessage(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        SubscribeResponse1 NotificationProducer.Subscribe(SubscribeRequest request)
        {
            return base.Channel.Subscribe(request);
        }
    }
}

